package top.kaoshanji.p4ch24c;

import top.kaoshanji.p4ch24b.Boy;

/**
 * 代码清单-p4ch24c-294页a：进一步改进后的场景类
 * @author kaoshanji
 * ^_^
 * create time 2025/3/26 21:16
 */
public class Client {

    public static void main(String[] args) {

        // 声明出主角
        Boy boy = new Boy();

        // 声明出备忘录的管理者
        Caretaker caretaker = new Caretaker();

        // 初始化当前状态
        boy.setState("心情很棒！");
        System.out.println("=====男孩现在的状态====");
        System.out.println(boy.getState());

        // 需要记录下当前状态...此时状态还没有发生变化
        caretaker.setMemento(boy.createMemento());

        // 男孩去追女孩，状态改变
        boy.changeState();
        System.out.println("=====男孩女女孩子后的状态====");
        System.out.println(boy.getState());

        // 追女孩失败，恢复原状
        boy.restoreMemento(caretaker.getMemento());
        System.out.println("=====男孩恢复后的状态====");
        System.out.println(boy.getState());

    }



}
